package com.example.mp.pojo;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.example.mp.enums.SexEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

//@TableName("tb_user")
@Data
@NoArgsConstructor
@AllArgsConstructor
//@KeySequence(value = "SEQ_USER")
public class User extends Model<User> {

//    @TableId(type = IdType.AUTO)
    private Long id;

    private String userName;

    // 查询时不返回该字段的值
    // 插入时填充字段
    @TableField(select = false, fill = FieldFill.INSERT)
    private String password;

    private String name;
    private Integer age;

    // 指定数据库表中的字段名
    @TableField(value = "email")
    private String mail;

    // 在数据库表中是不存在的
    @TableField(exist = false)
    private String address;

    // 乐观锁版本字段
    @Version
    private Integer version;

    // 逻辑删除字段, 1-删除, 2-未删除
    @TableLogic
    private Integer deleted;

    // 性别, 枚举类型
    private SexEnum sex;
}
